#ifndef _SCENE_H_
#define _SCENE_H_

#include "object.h"
#include "quadric.h"
#include "light.h"

class Scene {
  Object *scache;
  Object *obj_list;
  Light  *light_list;
public:

//  int specularFlag = 0;
//  int reflectionFlag = 0;
//  int transparentFlag = 0;
  int shadowFlag = 0;
  int specularFlag = 1;
  int reflectionFlag = 1;
  int transparentFlag = 1;
//  int shadowFlag = 1;
  Scene(void);
  void addObject(Object &obj);
  void addLight(Light &light);
  Colour raytrace(Ray &ray, int level);
  bool shadowtrace(Ray &ray, Object *obj, double tlimit);
};

#endif
